1.缺点:
  1.改名非常不方便
  2.不知道怎么添加&使用自己的.h头文件
  3.写代码无提示

2.网址
/**
 * 官网: https://www.keil.com/
 * Keil C51 历史版本: https://www.keil.com/update/c51.asp
 * Keil C166 历史版本: https://www.keil.com/update/c166.asp
 * Keil C251 历史版本: https://www.keil.com/update/c251.asp
 * MDK-Arm 历史版本: https://www.keil.com/update/rvmdk.asp
 *
 * 下载方法介绍: https://zhuanlan.zhihu.com/p/459594677
 */

3.软件介绍
/**
 * 1.IDE
 *   Keil uVision4       : IDE, 集成开发环境, uVisionu通用于KEIL的 开发工具中，例如MDK，PK51，PK166，DK251等。
 *   Keil uVision4 汉化包: 本来是MDK的汉化包,但好像适用于MDK和C51
 *
 * 2.软件
 *   Keil C51  : Development tools for all 8051 devices. 基于uVision IDE, 支持绝大部分8051内核.
 *   Keil C166 : Development tools for C166, XC166, & XC2000 MCUs.
 *   Keil C251 : Development tools for all 80251 devices.
 *   MDK-Arm   : Development environment for Cortex and Arm devices.
 *               以前叫: Kei_MDK, Microcontroller Development Kit, 基于uVision IDE, 支持写 STM32, ARM 专用版
 *
 * 下载的时候, 要看清到底是 Keil5 MDK, 还是 Keil5 C51, 不要下载错了!
 */

4.软件设置
/**
 * 1.Keil 中文输入支持
 *   Edit --> Configuration --> Editor --> General Editor Settings: 将Encode in ANSI --> Encode in UTF-8 without signature.
 * 2.显示tab&空格                                                   ☑View White Space
 * 3.Tab 键设置为4空格                     C/C++ Files:             ☑Insert spaces for tabs, Tab size=4
 *                                         ASM Files:               ☑Insert spaces for tabs, Tab size=4
 *                                         Other Files:             ☑Insert spaces for tabs, Tab size=4
 * 4.修改字体颜色&大小
 * Edit --> Configuration --> Color&Font --> C/C++ Editor Files --> Text --> Config New
 */

5.快捷键
/**
 * F7                : 编译当前文件
 * F8                : 下载程序, 需要配置(去百度)
 * F9                : 添加/取消 断点
 * Alt + F7          : 项目配置, 相当于点击"魔法棒",   或者: Project --> Options for Target 'Target 1'
 * 
 * Ctrl + F5         : 调试/取消调试(更多见'Debug'菜单)
 * 文件改名          : 右键 -> remove -> 打开文件夹直接改 -> 再添加到工程(右击->Add Existing...)
 * 打开File所在文件夹: 右击顶部文件 --> Open Containing Folder
 *
 * Ctrl + /          : 添加'注释'快捷键  : Edit -> Configuration -> Shortcut Keys -> Edit:Advanced:Comment Selection -> Creat Shortcut -> Ctrl+/, 需要选中代码才能使用...
 * Ctrl + Shift + /  : 去掉'注释' : Edit -> Configuration -> Shortcut Keys -> Edit:Advanced:Uncomment Selection -> Creat Shortcut -> Ctrl+Shift+/
 *                                  需要选中代码才能使用, 且备注上的代码的'//'需要在行首才能取消注释...
 *
 *
 */

6.工程项目 操作
//1.新建工程
  Project --> Nue uVersion Project --> 选择项目地址&项目名称 --> 保存
  --> 选择设备 --> 搜索STC(国内公司,外国软件不友好搜不到) --> 搜索at89c52 --> 确定 --> 是否添加启动文件到项目 --> 否

//2.新建文件
  在左侧Project窗口 --> Source Group 1 --> 右击 --> Add New Item to Group 'Source Group 1'... --> c File(.c) --> main

//3.代码写好后, 生成 HEX 文件
  Project --> Options for Target 'Target 1'(或者快捷键: Alt + F7)
        --> Output --> Create HEX File

//4.右击头文件.h --> Open document(可打开头文件.h)

//5.项目文件夹"Target 1", "Source Group 1" 等都不存在, 只是写在 .uvproj 里的字符串.

//6.可以在 Target 1 右击, 新建Group, 比如"Utils", 然后往里面添加一些文件

//7.可以点击"3色立方体", 管理项目Items(Group文件夹&文件)


7.代码相关
//Keil导入: 右击空白-> insert #include <REGX52.H>
#include <REGX52.H>

//F7 编译的文件:
  1.点击"3色立方体"(Manage Prject Items) --> 设置要编译的.c 文件
  2.如果工具类在新文件夹, 要新建Group, 并把工具类的".h, .c"在Group右击, 都加进去, 否则编译的时候会有很多 Warning
  3.可屏蔽掉一些 Warning: 点击"魔法棒" --> BL51 Misc --> Warnings 下方的 Disable Warning Numbers: 16(可屏蔽掉 方法未调用 的提示)
  4.生成的.hex 文件在: "项目\Objects\xxx.hex"


/**
 * include 后, 就可以直接调用方法 (不用声明方法)(不设魔法棒, 不设Group 都可以??)
 */
#include "Link/delayms.h"

//也可以不用 include, 直接声明方法使用 (FIXME 需要验证, 没导包, 也没在"魔法棒"那儿设置, 真的能运行???????????????????????????)
void Delayms(unsigned int);
void DelayShake();

//代码模板
左侧窗口 --> Template --> 可增加一些模板, 比如.h的标准写法, & #include ".h" & 文档注释 等

/**
 * @brief  Keil 的注释, 这儿写函数介绍
 * @param  参数说明
 * @retval return value 的意思
 */




8.老师视频
  1. .h 头文件可以放在和 .c 同一个目录。
  2. 也可以新建一个"Link"文件夹, 专门存放 .h 文件,
     然后需要点击"魔法棒(Alt+F7)" --> C51 --> Include Paths 中添加这个文件夹(经测试, 会有很多Warning)


9.报错
 WARNING L10: CANNOT DETERMINE ROOT SEGMENT                 //没找到 main()
 WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS //方法未调用, OVERLAY PROCESS 的时候会被忽略













